linters-settings:
  govet:
    check-shadowing: true
  golint:
    min-confidence: 0
  gocyclo:
    min-complexity: 15
  maligned:
    suggest-new: true
  goconst:
    min-len: 2
    min-occurrences: 4
  gocritic:
    enabled-tags:
      - diagnostic
      - experimental
      - opinionated
      - performance
      - style
    disabled-checks:
      - unnamedResult
  funlen:
    lines: 100
    statements: 50

linters:
  disable-all: true
  enable:
    - bodyclose
    - deadcode
    - depguard
    - dogsled
  # - dupl
    - errcheck
    - funlen
    - goconst
    - gocritic
    - gocyclo
    - gofmt
    - goimports
    - golint
    - gosec
    - gosimple
    - govet
    - ineffassign
    - interfacer
  # - lll
  # - misspell
    - scopelint
    - staticcheck
    - structcheck
    - stylecheck
    - typecheck
    - unconvert
    - unparam
  # - unused
    - varcheck
    - whitespace
    - gocognit
  # - godox
  # - maligned
    - prealloc

  # don't enable:
  # - gochecknoglobals
  # - nakedret
  # - gochecknoinits
